package dominio;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import persistencia.PersistentObject;
import dto.ItemListaProveedorTO;

@Entity
@Table(name = "ItemListaProveedor")
public class ItemListaProveedor extends PersistentObject {
	private static final long serialVersionUID = 1L;

	@OneToOne
	@JoinColumn(name = "idRodamiento")
	private Rodamiento rodamiento;

	@Column(name = "precio", nullable = false, columnDefinition = "money")
	private float precio;

	@Column(name = "stock", nullable = false, columnDefinition = "int")
	private int stock;

	public Rodamiento getRodamiento() {
		return rodamiento;
	}

	public void setRodamiento(Rodamiento rodamiento) {
		this.rodamiento = rodamiento;
	}

	public float getPrecio() {
		return precio;
	}

	public void setPrecio(float precio) {
		this.precio = precio;
	}

	public int getStock() {
		return stock;
	}

	public void setStock(int stock) {
		this.stock = stock;
	}

	public ItemListaProveedorTO getDTO() {
		ItemListaProveedorTO dto = new ItemListaProveedorTO();
		dto.setId(id);
		if (rodamiento != null)
			dto.setRodamiento(rodamiento.getDTO());
		dto.setPrecio(precio);
		dto.setStock(stock);
		return dto;
	}

	public static ItemListaProveedor fromDTO(ItemListaProveedorTO dto) {
		if (dto == null)
			return null;
		ItemListaProveedor i = new ItemListaProveedor();
		i.setId(dto.getId());
		i.setRodamiento(Rodamiento.fromDTO(dto.getRodamiento()));
		i.setPrecio(dto.getPrecio());
		i.setStock(dto.getStock());
		return i;
	}
}